#include <REGX52.H>

/**
 * 1357先亮，然后2468再亮，交替闪烁
 */

// 根据环境，选 REGX52.H 或 REG52.H ，优先用 REGX52.H ，环境不对就换 REG52.H
#include <REGX52.H>  

// 延时函数，大致延时 ms 毫秒（根据实际晶振频率微调，这里假设 12MHz 晶振）
void delay_ms(unsigned int ms) {
    unsigned int i, j;
    for (i = 0; i < ms; i++) {
        for (j = 0; j < 123; j++) {
            ; // 空循环延时，具体次数靠实际测试或计算匹配延时
        }
    }
}

void main() {
    while (1) { 
        // 1、3、5、7 亮（对应 P2.0、P2.2、P2.4、P2.6 置 0 ，假设 LED 共阴极，低电平点亮；
        // 若共阳极则反过来，置 1 点亮，根据实际电路改）
        P2 = 0xAA; // 二进制 1010 1010 ，对应 P2.0、P2.2、P2.4、P2.6 为 0 （假设共阴极）
        delay_ms(1000); // 亮 1 秒，时间可调整
        
        // 2、4、6、8 亮（对应 P2.1、P2.3、P2.5、P2.7 置 0 ）
        P2 = 0x55; // 二进制 0101 0101 ，对应 P2.1、P2.3、P2.5、P2.7 为 0 （假设共阴极）
        delay_ms(1000); // 亮 1 秒，时间可调整
    }
}